*,
*::before,
*::after {
	box-sizing: border-box;
}
html, body {
	scroll-behavior: smooth;
}
body {
	font: 14px / 1.5 -apple-system-font,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;
	word-break: break-all;
}

button {
	outline: none;
	background: none;
	border: none;
}

/* container */
.container {
	width: var(--page-width);
	margin: 0 auto;
}

/* wrpa */ 
.wrap {
	padding: 90px 0;

	&--gray {
		background-color: var(--bg-gray);
	}

	&__head {
		margin-bottom: 60px;

		&__title {
			font-size: 32px;
			color: var(--color-title);
			text-align: center;

			&--active {
				color: varr(--main-color);
			}
		}

		&__plate {
			font-size: 32px;
			color: var(--color-title);
		}
	
		&__sub {
			font-size: 14px;
			color: var(--color-fun);
			text-align: center;
		}

		&__line {
			width: 50px;
			height: 3px;
			margin: 10px auto 0;
			background-color: var(--main-color);
			border: none;
			border-radius: 3px;

			+ .wrap__head__sub {
				margin-top: 25px;
			}
		}
	}
}

/* display */
.display {
	&-block {
		display: block;
	}

	&-none {
		display: none;
	}
}

/* mask */
.mask {
	position: fixed;
	left: 0;
	top: 0;
	z-index: var(--z-index-mask);
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.6);

	&.white {
		background-color: rgba(255, 255, 255, .6);
	}

	&.transparent {
		background-color: transparent;
	}
}

/* grid */
.row {
	display: flex;
	flex-wrap: wrap;
	
	&--gap-20 {
		margin: -10px;

		> [class^="row__col"] {
			padding: 10px;
		}
	}

	&--gap-30 {
		margin: -15px;

		> [class^="row__col"] {
			padding: 15px;
		}
	}

	&__col-3 {
		flex: 0 0 25%;
	}

	&__col-4 {
		flex: 0 0 33.33%;
	}

	&__col-6 {
		flex: 0 0 50%;
	}
}

/* text align*/
.text-align {
	&--left {
		text-align: left !important;
	}

	&--center {
		text-align: center !important;
	}
}

/* flex */
.flex {
	display: flex;

	&--center {
		align-items: center;
		justify-content: center;
	}

	&--align-center {
		align-items: center;
	}

	&--align-flex-start {
		align-items: flex-start;
	}

	&--justify-content-center {
		justify-content: center;
	}

	&--direction-column {
		flex-direction: column;
	}
}

/* margin */
.m {
	&l--auto {
		margin-left: auto;
	}
	&r--auto {
		margin-right: auto;
	}
	&t--10 {
		margin-top: 10px;
	}
	&t--20 {
		margin-top: 20px;
	}
	&t--30 {
		margin-top: 30px;
	}
	&t--40 {
		margin-top: 40px;
	}
	&t--50 {
		margin-top: 50px;
	}
	&t--60 {
		margin-top: 60px;
	}
	&t--70 {
		margin-top: 70px;
	}
	&t--80 {
		margin-top: 80px;
	}
	&b--10 {
		margin-bottom: 10px;
	}
	&b--20 {
		margin-bottom: 20px;
	}
	&b--30 {
		margin-bottom: 30px;
	}
}


/* plate */
.plate {
	display: flex;
	align-items: center;
	margin-bottom: 30px;

	&__title {
		font-size: 24px;
		font-weight: bold;
		color: var(--color-title);
	}

	&__filter {
		display: flex;
		margin-left: 30px;

		&__item {
			position: relative;
			padding: 0 4px 6px;
			margin-left: 10px;
			font-size: 16px;
			color: var(--color-fun);
			text-decoration: none;

			&:first-child {
				margin-left: 0;
			}

			&:hover {
				color: var(--main-color);
			}

			&--active {
				font-weight: bold;
				color: var(--main-color);

				&::before {
					content: "";
					position: absolute;
					left: 50%;
					bottom: 0;
					width: 20px;
					height: 2px;
					margin-left: -10px;
					background-color: currentColor;
					border-radius: 6px;
				}
			}
		}
	}
}

/* no-data */
.no-data {
	margin: 20% 0;
	font-size: 14px;
	color: var(--color-fun);
	text-align: center;
}

/* 超出多行隐藏 */
.text-clip {
	/* autoprefixer: ignore next */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	/* autoprefixer: ignore next */
	-webkit-box-orient: vertical;
	overflow : hidden;
    text-overflow: ellipsis;
}

/* 文本单行超出隐藏 */
.text-clip-single {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* animate */
.hover-slide-top {
	transition: all .4s;

	&:hover {
		transform: translateY(-10px);
	}
}